package com.meiyou.service;

import com.meiyou.dto.UpdateUserDto;
import com.meiyou.dto.UserLoginDto;
import com.meiyou.dto.UserRegisterDto;
import com.meiyou.vo.UserInfoVo;
import com.meiyou.vo.UserLoginVo;

import java.util.Map;

public interface UserService {

    /**
     * 注册
     *
     * @param userRegisterDto
     */
    void register(UserRegisterDto userRegisterDto);

    /**
     * 发送验证码
     *
     * @return
     */
    void sendCode(String email);

    /**
     * 登录
     *
     * @param userLoginDto
     * @return
     */
    UserLoginVo login(UserLoginDto userLoginDto);

    /**
     * 忘记密码，修改密码
     *
     * @param id
     * @param password
     * @return
     */
    void forgetPassword(Long id, String password);

    /**
     * 验证验证码是否正确、邮箱是否已注册
     *
     * @param map
     * @return
     */
    Long verifyCode(Map map);

    /**
     * 修改用户信息
     *
     * @param updateUserDto
     * @return
     */
    void updateUserInfo(UpdateUserDto updateUserDto);

    /**
     * 获取用户信息
     *
     * @return
     */
    UserInfoVo getUserInfo();
}
